{{tag>audio multimédia mao}}

----
{{  :flac_logo.png|flac_logo}}
====== Le format audio Flac ======
===== Qu'est-ce que le Flac ? =====
 Le **F**ree **L**ossless **A**udio **C**odec ([[wpfr>Flac]]) est un codec libre de compression audio sans perte. À l'inverse de formats tels que MP3 ou l'Ogg-Vorbis, il n'enlève aucune information au flux audio. On aura alors exactement la même qualité qu'un CD.\\

Le Flac a toutes les caractéristiques d'un format moderne : notamment il intègre les métadonnées et les images de couverture.\\
Il est **libre et open source**, ne nécessitant pas le paiement de redevances -- contrairement au Mp3.\\
Sous Ubuntu, il est parfaitement supporté par la plupart des logiciels.
Le support du Flac pour les appareils portables commence à s'étendre (Android le supporte depuis 4.0)\\

John Coalson est le premier auteur de FLAC.

<note tip>Un CD audio peut être extrait au format FLAC très simplement grâce au logiciel [[sound_juicer|sound-juicer]], ou en ligne de commande grâce à [[lecture_et_encodage_de_fichiers_audio#par_lignes_de_commandes|abcde]]
</note>

Sur des enceintes, la différence entre le Flac et le Mp3 s'entend très nettement. Il peut être intéressant d'utiliser du Flac, même si il prend beaucoup plus de place que du Mp3 ou du OggVorbis.

<note tip>Il existe 8 niveaux de compression du Flac. Il n'y aura toujours aucune perte, seule change l'efficacité et donc la vitesse de la compression.\\
À toute utilisation de la commande ''flac'', on peut plutôt écrire ''flac -8'' pour une meilleure compression.</note>

===== Conversion depuis d'autres formats sans perte=====
<note important>Il est parfaitement inutile de convertir un format avec pertes vers du Flac, on ne regagnera pas les informations audio perdues !</note>
==== Depuis un CD ====
Vous pouvez alors être certains d'avoir la qualité maximale.\\
De nombreux logiciels permettent d'extraire un CD en Flac. [[sound_juicer|Sound-Juicer]] est simple d'utilisation. On notera bien sûr aussi K3b, plus développé.

==== Depuis du WavPack ====
Le WavPack (.wv) et le Flac offrent la même qualité, mais le Flac est plus répandu et a plus de possibilités. De plus, le WavPack ne supporte pas bien les tags.
Il faudra installer le codec Wavpack, non installé de base (''sudo apt-get install wavpack'').

=== Convertir en Flac ===
<code bash>flac "mon_fichier.wv"</code>
Ceci créera un fichier ''mon_fichier.flac''.

Pour une plus forte compression, on peut écrire : <code bash>flac -8 "mon_fichier.wav"</code>

==== Depuis du Ape ====
Un travail pour "avconv" (une commande fournie par le paquet "libav-tools") :
<code bash>avconv -i sample.ape sample.flac</code>

=== Convertir plusieurs fichiers ===
Dans le dossier contenant les fichiers Ape :
<code bash>for i in *.ape; do avconv "$i" "${i%.ape}.flac"; done</code>
===== Couper un unique fichier avec un fichier .cue =====
Il faudra installer quelques shntool :
<code bash>sudo apt-get install shntool</code>

==== Depuis un fichier Ape ====
<code bash>
# decoupe de APE selon CUE + compression en flac
cuebreakpoints *.cue | shnsplit -o flac *.ape

# tag des fichiers FLAC selon le fichier CUE 
cuetag *.cue split-track*.flac</code>

ou bien :
<code bash> shntool split -f *.cue -o flac *.ape -t "%n %t" </code>

==== Depuis un fichier Flac unique ====
<code bash>cuebreakpoints "fichier-d'infos.cue" | shnsplit -o flac "fichier-audio.flac"</code>

Pour que les fichiers soient nommés en fonction des numéros et noms de pistes :

<code bash> shntool split -f "fichier-d'infos.cue" -o flac  "fichier-audio.flac" -t "%n - %t" </code>


==== Avec une interface graphique ====

  * [[xcfa|XCFA]] permet entre autres de découper un fichier Flac en fonction du fichier .cue associé
  * Le logiciel [[https://code.google.com/p/flacon/|Flacon]] permet aussi le découpage de fichiers audio.

===== Compression vers des formats avec perte =====
Il est maintenant intéressant de compresser des fichiers, pour 
  * Gagner de la place, sur un baladeur/smartphone par exemple
  * Être compatible avec les appareils ne lisant pas le Flac (WindowsPhone, baladeurs divers, iPhones)

Dans le premier cas, l'OggVorbis est conseillé : Parfaitement supporté sous Ubuntu, il offre une meilleure qualité que la plupart des formats avec perte, pour une même taille de fichier.\\
Dans le second cas, l'OggVorbis n'étant pas plus répandu que le Flac, on privilégiera le Mp3.

==== Compresser en Ogg ====
Le paquet [[apt://vorbis-tools]] est nécessaire (normalement installé de base)
<code bash> sudo apt-get install vorbis-tools </code>

<code=bash>oggenc -q9 *.flac</code>
Ceci va créer des fichiers *.ogg .

L'option '-q9' qualité 9 est équivalente à ~320kbps. 

<note tip>Qualité OGG :
  * -q-1 ~45 kbps 
  * -q0 ~64 kbps
  * -q1 ~80 kbps 
  * -q2 ~96 kbps 
  * -q3 ~112 kbps 
  * -q4 ~128 kbps 
  * -q5 ~160 kbps 
  * -q6 ~192 kbps 
  * -q7 ~224 kbps 
  * -q8 ~256 kbps 
  * -q9 ~320 kbps 
  * -q10 ~500 kbps
</note>

==== Compresser en Mp3 ====
Le paquet [[apt://lame]] est nécessaire (normalement installé de base)
<code bash>sudo apt-get install lame</code>

En 2 étapes: 

  * décompresser le FLAC en WAV (vu plus haut)
<code bash>flac -f -d "mon_fichier.flac"</code>
  * encoder le WAV en MP3 
<code bash>lame -V2 "mon_fichier.wav"
# OU
lame -V2 "mon_fichier.wav" "mon_fichier.mp3"</code>

L'option '-V2' indique la qualité. 0(zero) = haute qualité et 9 = basse qualité . par default '-V4'

<note important>Le format MP3 n'est pas libre ! Si vous n'avez pas spécifiquement besoin du format MP3, vous pouvez utiliser le format audio [[http://fr.wikipedia.org/wiki/Ogg_Vorbis|"Ogg Vorbis"]], qui est libre de droit et utilisable directement.</note>
 
===== FLAC Surround =====

Le FLAC est également capable de gérer plusieurs canaux audio (multi-channels).
En possession d'une bande-son de film (5.1 ou 7.1) ou même d'un DVD-Audio (5.1 ou 7.1), il peut être plaisant de conserver cette dimension sonore sans pour autant en subir la consommation d'espace disque. En effet, un son 7.1 comprend 8 canaux, ce qui signifie que la taille du fichier 7.1 en question prend approximativement 4 fois plus de place qu'un fichier Stéréo (2.0). D'où l'utilité de compresser tout cela en FLAC.

L'organisation des canaux dans un fichier audio comportant plusieurs voies est définie selon un ordre précis qui permet, lors du décodage du fichier son, de bien obtenir la voie centrale sur l'enceinte centrale, la voie latérale gauche sur l'enceinte latérale gauche, etc.
Sur le site officiel, la documentation du codec FLAC définit un ordre particulier pour les fichiers FLAC Surround : [[http://flac.sourceforge.net/format.html#frame_header|Documentation]]

On y voit que le standard est défini pour du 5.1, mais pas pour un nombre plus important de canaux.

Ayant fait les tests avec MPlayer, un lecteur multimédia performant, voici donc l'organisation des canaux dans les fichiers FLAC (je me base sur MPlayer car il me semble optimal pour une utilisation Home Cinema avec sa prise en charge du décodage par GPU parfaitement intégrée : [[http://doc.ubuntu-fr.org/mplayer|MPlayer]] et la [[http://doc.ubuntu-fr.org/smplayer_mplayer_et_pilote_nvidia_vdpau|Bibliothèque VDPAU]]).

Organisation 5.1 (6 canaux) :
^ N° canal ^ Affectation ^
| 0 | Gauche |
| 1 | Droite |
| 2 | Centre |
| 3 | LFE |
| 4 | Latéral Gauche |
| 5 | Latéral Droite |

Organisation 7.1 (8 canaux) :
^ N° canal ^ Affectation ^
| 0 | Gauche |
| 1 | Droite |
| 2 | Centre |
| 3 | LFE |
| 4 | Arrière Gauche |
| 5 | Arrière Droit |
| 6 | Latéral Gauche |
| 7 | Latéral Droite |

À ce jour (juin 2010), la version proposée dans les dépôts officiels (y compris pour Lucid) n'est pas assez récente et ne propose pas de support des sons FLAC Surround (inversion de cannaux, etc...) On voit sur ce [[http://www.hydrogenaudio.org/forums/lofiversion/index.php/t63269.html|post]] que le problème a été reporté aux développeurs de MPlayer. Résultat : la version SVN reconnaît le format et assigne parfaitement les 6 ou 8 canaux !

<note help>Pour obtenir la version SVN de MPlayer, il suffit d'utiliser le PPA proposé dans la page d'MPlayer du Wiki : [[https://launchpad.net/~rvm/+archive/mplayer|PPA]].</note>

<note tip>À titre anecdotique, juste pour montrer la puissance du codec FLAC. Fichier Source Format : DTS-HD, 5.1, 24bits/48kHz. Taille : 4.7 Go. Une fois le son extrait en PCM, puis compressé en FLAC au niveau 5, j'obtiens un fichier FLAC, 5.1, 24bits/48kHz Taille : 4.1 Go... À vous de juger!</note>

===== Voir aussi =====
  * Documentation sur le Flac et la commande flac : http://xiph.org/flac/documentation_tools_flac.html

----


//Contributeurs : [[utilisateurs:Mr_Djez|Mr_Djez]], linux4life (Surround) //